import axios from 'axios'

// 创建 axios 实例
const api = axios.create({
  baseURL: 'http://localhost:3001/api',
  timeout: 10000,
  headers: {
    'Content-Type': 'application/json'
  }
})

// 请求拦截器
api.interceptors.request.use(
  (config) => {
    // 简单的请求日志
    console.log('API 请求:', config.method?.toUpperCase(), config.url)
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 响应拦截器
api.interceptors.response.use(
  (response) => {
    return response.data
  },
  (error) => {
    console.error('API 请求错误:', error)

    // 处理网络错误
    if (!error.response) {
      return Promise.reject({
        success: false,
        message: '网络连接失败，请检查服务器是否启动'
      })
    }

    // 处理 HTTP 错误
    const { data } = error.response

    return Promise.reject(data || {
      success: false,
      message: '请求失败'
    })
  }
)

export default api
